package cn.iocoder.yudao.module.course.controller.admin.category.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 分类管理新增/修改 Request VO")
@Data
public class CategorySaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32615")
    private Long id;

    @Schema(description = "分类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "分类名称不能为空")
    private String name;

    @Schema(description = "分类类型 0 所有分类通用 1 素材 ", example = "2")
    private Integer type;

    @Schema(description = "父节点", example = "10885")
    private Long parentId;

    @Schema(description = "类级别，便于快速查询和排序（如0代表一级分类，1代表二级分类，以此类推）", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "类级别，便于快速查询和排序（如0代表一级分类，1代表二级分类，以此类推）不能为空")
    private Integer categoryLevel;

    @Schema(description = "课程描述", example = "你说的对")
    private String description;

    @Schema(description = "行锁版本号")
    private Integer version;

    @Schema(description = "组归属部门（当前新增用户所在的部门）", example = "16119")
    private Long deptId;

}